package jwt

import (
	"go.uber.org/zap"
)

const (
	defaultIssuer      = "internal-training-system"
	defaultSubject     = "Auth-Token"
	defaultExpireHours = 48
	employeeAudience   = "employee"
	adminAudience      = "admin"

	tokenTypeEmployee = "employee-token"
	tokenTypeAdmin    = "admin-token"
)

var (
	logger = zap.L().Sugar()
)

type Service interface {
	GenerateToken(string) (string, error)
	ParseAndVerifyToken(string) (bool, error)
	GetIdFromToken(string) (string, error)
}

type EmployeeImpl struct{}

type AdminImpl struct{}
